import 'conn.dart';
import 'message.dart';
import 'room.dart';

class NsConn {
  Conn conn;

  Map<String, MessageHandlerFunc> events;

  String namespace;

  Map<String, Room> rooms;

  NsConn({
    required this.conn,
    required this.events,
    required this.namespace,
    required this.rooms,
  });

  Future<Message> ask(String event, body) {
    throw UnimplementedError();
  }

  Future<Room> askRoomJoin(String roomName) {
    throw UnimplementedError();
  }

  Future<String> askRoomLeave(Message msg) {
    throw UnimplementedError();
  }

  Future<String> disconnect() {
    throw UnimplementedError();
  }

  bool emit(String event, String body) {
    throw UnimplementedError();
  }

  bool emitBinary(String event, String body) {
    throw UnimplementedError();
  }

  void forceLeaveAll(bool isLocal) {}

  Future<Room> joinRoom(String roomName) async {
    throw UnimplementedError();
  }

  Future<String> leaveAll() {
    throw UnimplementedError();
  }

  void replyRoomJoin(Message msg) {}

  void replyRoomLeave(Message msg) {}

  Room room(String roomName) {
    throw UnimplementedError();
  }
}
